package com.zzyweb.managementsystem.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

/**
 * @author zhiyi
 * @date 9/22/25
 **/
@Component
public class RedisUtil {
    //前一个是<k,v>，可以自定义key 和 value的类型 后一个是<String,String> 我这里只是存一个code 可以用第二个
    @Autowired
    RedisTemplate redisTemplate;
    @Autowired
    StringRedisTemplate stringRedisTemplate;


    //检查是否存在这个key
    public boolean keyIsExisted(String key) {
        return stringRedisTemplate.hasKey(key);
    }
    //查看还有多久过期 ttl time to live
    public Long getTTL(String key) {
        //默认是毫秒
        return stringRedisTemplate.getExpire(key);
    }
    public void set(String key, String value, Long timeout) {
        stringRedisTemplate.opsForValue().set(key,value,timeout, TimeUnit.SECONDS);
    }
    public String get(String key) {
        String s = stringRedisTemplate.opsForValue().get(key);
        return s;
    }
}
